#ifndef uListeDepartementsH
#define uListeDepartementsH

#include "Eic.h" //Pour PACKAGE_EIC

//-----------------------------------------------------------------------------------
//               STRUCTURE POUR LA LISTE DES DEPARTEMENTS EN FORMAT TDFC
//-----------------------------------------------------------------------------------

struct STRUCT_DEPARTEMENT
{
  AnsiString aNomDep;
  AnsiString aCodeDep;
  int        iID;
};

class PACKAGE_EIC TListeDepartements
{
  private :
    TStringList *slDepartements;
    STRUCT_DEPARTEMENT __fastcall GetTabDepartements(short shItem) const;
    short              __fastcall GetCount() const;
  public :
            __fastcall  TListeDepartements();
    virtual __fastcall ~TListeDepartements();

    AnsiString         __fastcall CodeDepToNomDep(const AnsiString &aCodeDep) const;
    STRUCT_DEPARTEMENT __fastcall IDToDepartement(const int iID) const;

    __property STRUCT_DEPARTEMENT TabDepartements[short shItem] = {read = GetTabDepartements};
    __property short              Count                         = {read = GetCount};
    enum eListePays
    {
      AUCUN_DEP = -1,     //Indice du département "vide"
      AIN = 0,
      AISNE,
      ALLIER,
      ALPES_DE_HAUTE_PROVENCE,
      HAUTES_ALPES,
      ALPES_MARITIMES,
      ARDECHE,
      ARDENNES,
      ARIEGE,
      AUBE,
      AUDE,
      AVEYRON,
      BOUCHES_DU_RHONE,
      CALVADOS,
      CANTAL,
      CHARENTE,
      CHARENTE_MARITIME,
      CHER,
      CORREZE,
      CORSE_DU_SUD,
      HAUTE_CORSE,
      COTE_D_OR,
      COTE_D_ARMOR,
      CREUSE,
      DORDOGNE,
      DOUBS,
      DROME,
      EURE,
      EURE_ET_LOIR,
      FINISTERE,
      GARD,
      HAUTE_GARONNE,
      GERS,
      GIRONDE,
      HERAULT,
      ILLE_ET_VILAINE,
      INDRE,
      INDRE_ET_LOIR,
      ISERE,
      JURA,
      LANDES,
      LOIR_ET_CHER,
      LOIRE,
      HAUTE_LOIRE,
      LOIRE_ATLANTIQUE,
      LOIRET,
      LOT,
      LOT_ET_GARONNE,
      LOZERE,
      MAINE_ET_LOIRE,
      MANCHE,
      MARNE,
      HAUTE_MARNE,
      MAYENNE,
      MEURTHE_ET_MOSELLE,
      MEUSE,
      MORBIHAN,
      MOSELLE,
      NIEVRE,
      NORD,
      OISE,
      ORNE,
      PAS_DE_CALAIS,
      PUY_DE_DOME,
      PYRENEES_ATLANTIQUES,
      HAUTES_PYRENEES,
      PYRENEES_ORIENTALES,
      BAS_RHIN,
      HAUT_RHIN,
      RHONE,
      HAUTE_SOANE,
      SOANE_ET_LOIRE,
      SARTHE,
      SAVOIE,
      HAUTE_SAVOIE,
      PARIS,
      SEINE_MARITIME,
      SEINE_ET_MARNE,
      YVELINES,
      DEUX_SEVRES,
      SOMME,
      TARN,
      TARN_ET_GARONNE,
      VAR,
      VAUCLUSE,
      VENDEE,
      VIENNE,
      HAUTE_VIENNE,
      VOSGES,
      YONNE,
      TERRITOIRE_DE_BELFORT,
      GUINEE_BISSAU,
      ESSONE,
      HAUTS_DE_SEINE,
      VAL_DE_MARNE,
      VAL_D_OISE,
      GUADELOUPE,
      MARTINIQUE,
      GUYANE,
      REUNION,
      SAINT_PIERRE_ET_MIQUELON,
      MAYOTTE,
      WALLIS_ET_FUTUNA,
      POLYNESIE_FRANCAISE,
      NOUVELLE_CALEDONIE,
      DEP_DERNIER,
    };
};
#endif
